<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Referência da Template de Classe genetic_operator_thread&lt; _ty, _realTy &gt;</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Gerado por Doxygen 1.6.3 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Busca');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Página&nbsp;Principal</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Arquivos</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.png"
             onmouseover="return searchBox.OnSearchSelectShow()"
             onmouseout="return searchBox.OnSearchSelectHide()"
             alt=""/>
        <input type="text" id="MSearchField" value="Busca" accesskey="S"
             onfocus="searchBox.OnSearchFieldFocus(true)" 
             onblur="searchBox.OnSearchFieldFocus(false)" 
             onkeyup="searchBox.OnSearchFieldChange(event)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Lista&nbsp;de&nbsp;Componentes</span></a></li>
      <li><a href="hierarchy.html"><span>Hierarquia&nbsp;de&nbsp;Classes</span></a></li>
      <li><a href="functions.html"><span>Componentes&nbsp;Membros</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Referência da Template de Classe genetic_operator_thread&lt; _ty, _realTy &gt;</h1><!-- doxytag: class="genetic_operator_thread" -->
<p><code>#include &lt;<a class="el" href="genetic__operator__thread_8h_source.html">genetic_operator_thread.h</a>&gt;</code></p>
<div class="dynheader">
Diagrama de Hierarquia para genetic_operator_thread&lt; _ty, _realTy &gt;:</div>
<div class="dynsection">
 <div class="center">
  <img src="classgenetic__operator__thread.png" usemap="#genetic_operator_thread&lt; _ty, _realTy &gt;_map" alt=""/>
  <map id="genetic_operator_thread&lt; _ty, _realTy &gt;_map" name="genetic_operator_thread&lt; _ty, _realTy &gt;_map">
<area href="classcross__over__thread.html" alt="cross_over_thread&lt; _ty, _realTy &gt;" shape="rect" coords="0,56,245,80"/>
<area href="classmutate__bit__by__bit__thread.html" alt="mutate_bit_by_bit_thread&lt; _ty, _realTy &gt;" shape="rect" coords="255,56,500,80"/>
<area href="classselection__by__tournament.html" alt="selection_by_tournament&lt; _ty, _realTy &gt;" shape="rect" coords="510,56,755,80"/>
</map>
 </div>
</div>

<p><a href="classgenetic__operator__thread-members.html">Lista de todos os Membros.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Tipos Públicos</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef boost::mutex::scoped_lock&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#abe926f8fc2a1548516dad216a1acd4fb">scoped_lock</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
&lt; boost::thread * &gt;::iterator&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#ac5a153e12dd6711746126c48edba271a">it_</a></td></tr>
<tr><td colspan="2"><h2>Métodos Públicos</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a2b60b46c5d55135436590f6aa2b11da3">genetic_operator_thread</a> (<a class="el" href="classpopulation.html">population</a>&lt;&gt; *popPt)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a30c4b7a10dae2ff72905416953a64049">~genetic_operator_thread</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#adb72da6103f5995bd4c265789e5eceac">genetic_operator_thread</a> (const <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt; &amp;got)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a751c7f678d7486bee8b1a02bb9e60416">GetReference</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a435435aa8c4e9f50b041b40c7f63b599">SetProducer</a> (<a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt; *new_prod_pt)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a2944e0158bc914db042fdcf22a4a4e70">SetConsumer</a> (<a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a> *cons_pt)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsemaphore.html">semaphore</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#aa9a6e0370bfd3afe316af822832a8013">GetSemProducer</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classsemaphore.html">semaphore</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a73424d811348f5a911da3744dfc08762">GetSemConsumer</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#abd1a0cb47d379e74f3e738f5c75fe7b7">ApplyGeneticOperator</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a5e739f35ac03b42311540dbf4db25d2e">AddIndividual</a> (<a class="el" href="classindividual.html">individual</a>&lt; _ty, _realTy &gt; *newId)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a1e355fe496238b6433bbf9f3f70bf6ad">PushBackIndividual</a> (<a class="el" href="classindividual.html">individual</a>&lt; _ty, _realTy &gt; *newId)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classindividual.html">individual</a>&lt; _ty, _realTy &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#aba37d3926c0ae0f61846a3e98cfeaf39">GetBestIndividual</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a44556f084005e19742891fae2e3c8df3">UpdatePopulation</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#afaab02a61f5f0a52b37c4f8bda8df131">PrintPopulation</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">boost::condition &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#adbc04b2ec67ef127c316efd2bfb407c4">GetCondApplyOp</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">boost::mutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a0973b32bc54f444ca7afcdcdfef9a38a">GetMutexCondApplyOp</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a2fdf96fda297cef206de86300ab7df0c">FullPopulation</a> (void) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgenetic__operator__thread.html#ac5a153e12dd6711746126c48edba271a">it_</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a3f9defee5440ebe6d973bcc8806d64ee">Begin</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgenetic__operator__thread.html#ac5a153e12dd6711746126c48edba271a">it_</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#ae836d401cde0a8ac21025348b9fcedf6">End</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a7c86cee81334320d496fb196920fcc10">ReadyToReceive</a> (void)</td></tr>
<tr><td colspan="2"><h2>Métodos Protegidos</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a838af3900b85dfba3b5daa7c9dd1b51c"></a><!-- doxytag: member="genetic_operator_thread::GetInMutex" ref="a838af3900b85dfba3b5daa7c9dd1b51c" args="(void)" -->
boost::mutex&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetInMutex</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83fa2b4627e313d4e28ab946e7673017"></a><!-- doxytag: member="genetic_operator_thread::GetOutMutex" ref="a83fa2b4627e313d4e28ab946e7673017" args="(void)" -->
boost::mutex&nbsp;</td><td class="memItemRight" valign="bottom"><b>GetOutMutex</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a856af75479279710968a1aa2b26400de">IncrementIterator</a> (typename <a class="el" href="classpopulation.html">population</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html#ac5a153e12dd6711746126c48edba271a">it_</a> &amp;it)</td></tr>
<tr><td colspan="2"><h2>Métodos Protegidos Estáticos</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a22db2979e50888a982e4d78a874b0193">GetGenerationCount</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a77fb097a6fa283eebe5cf6af08dd2cfc">IncrementGenerationCount</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#aad1cfa9857458b80ca2f5ba2fa3c5d74">EndOfGA</a> (void)</td></tr>
<tr><td colspan="2"><h2>Atributos Protegidos</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpopulation.html">population</a>&lt; _ty, _realTy &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#ae0bb1f4c8c30c5557eefc870d2767d66">_popOperatorPt</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, <br class="typebreak"/>
_realTy &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#ad88e4f6c5afb05bbc55d5f44bce88ba2">_consumidorPt</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, <br class="typebreak"/>
_realTy &gt; *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#af325a8a1c9964fc0eac9e2eeda670499">_producerPt</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#a886d986c24ceb36bff5a77bf58447be0">_coreNumbers</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a33d19c478eee6deee0a1fcb43272cc92"></a><!-- doxytag: member="genetic_operator_thread::_inIterator" ref="a33d19c478eee6deee0a1fcb43272cc92" args="" -->
<a class="el" href="classpopulation.html">population</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html#ac5a153e12dd6711746126c48edba271a">it_</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>_inIterator</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac403a8cd7cd497e8d98bdd40f417771c"></a><!-- doxytag: member="genetic_operator_thread::_inMutex" ref="ac403a8cd7cd497e8d98bdd40f417771c" args="" -->
boost::mutex&nbsp;</td><td class="memItemRight" valign="bottom"><b>_inMutex</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a11bd7c84a7feb28bfed6e1ea52964fd1"></a><!-- doxytag: member="genetic_operator_thread::_outIterator" ref="a11bd7c84a7feb28bfed6e1ea52964fd1" args="" -->
<a class="el" href="classpopulation.html">population</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html#ac5a153e12dd6711746126c48edba271a">it_</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>_outIterator</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a923a2cd5dfdd1478677f5a05f5dd4063"></a><!-- doxytag: member="genetic_operator_thread::_outMutex" ref="a923a2cd5dfdd1478677f5a05f5dd4063" args="" -->
boost::mutex&nbsp;</td><td class="memItemRight" valign="bottom"><b>_outMutex</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8e9f788e9d5e9c0ee96de0505525196c"></a><!-- doxytag: member="genetic_operator_thread::_semConsumer" ref="a8e9f788e9d5e9c0ee96de0505525196c" args="" -->
<a class="el" href="classsemaphore.html">semaphore</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_semConsumer</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae9a9af2ff152c15152f42de2c02be1e3"></a><!-- doxytag: member="genetic_operator_thread::_semProducer" ref="ae9a9af2ff152c15152f42de2c02be1e3" args="" -->
<a class="el" href="classsemaphore.html">semaphore</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>_semProducer</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab1bee0ae612b0f61b9f2bb15b431ea26"></a><!-- doxytag: member="genetic_operator_thread::_condApplyOperator" ref="ab1bee0ae612b0f61b9f2bb15b431ea26" args="" -->
boost::condition&nbsp;</td><td class="memItemRight" valign="bottom"><b>_condApplyOperator</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9fd8a736c036bb91234a54db69418464"></a><!-- doxytag: member="genetic_operator_thread::_mutexCondApplyOp" ref="a9fd8a736c036bb91234a54db69418464" args="" -->
boost::mutex&nbsp;</td><td class="memItemRight" valign="bottom"><b>_mutexCondApplyOp</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac45e4d73d9023af4c7998355b4302f28"></a><!-- doxytag: member="genetic_operator_thread::_condStopCondition" ref="ac45e4d73d9023af4c7998355b4302f28" args="" -->
boost::condition&nbsp;</td><td class="memItemRight" valign="bottom"><b>_condStopCondition</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa828c4d595704dcd561e1eec098e3ab3"></a><!-- doxytag: member="genetic_operator_thread::_mutexCondStopCond" ref="aa828c4d595704dcd561e1eec098e3ab3" args="" -->
boost::mutex&nbsp;</td><td class="memItemRight" valign="bottom"><b>_mutexCondStopCond</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8007f81975ddd3911ef63682cabcd990"></a><!-- doxytag: member="genetic_operator_thread::_threadVec" ref="a8007f81975ddd3911ef63682cabcd990" args="" -->
std::vector&lt; boost::thread * &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><b>_threadVec</b></td></tr>
<tr><td colspan="2"><h2>Atributos Estáticos Protegidos</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#acdf9606e26ae1240cd1c9fced36c656a">_genCount</a> = 0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static boost::mutex&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classgenetic__operator__thread.html#afb4be1bcb256082a4d6e90faba3e5567">_MutexgenCount</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Descrição Detalhada</h2>
<h3>template&lt;typename _ty, typename _realTy&gt;<br/>
 class genetic_operator_thread&lt; _ty, _realTy &gt;</h3>

<p>Classe que possui a definição básica de um operador genético paralelizado.</p>
<dl><dt><b>Template Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>_ty</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>_realTy</em>&nbsp;</td><td></td></tr>
  </table>
  </dd>
</dl>
<hr/><h2>Definições de Tipos</h2>
<a class="anchor" id="ac5a153e12dd6711746126c48edba271a"></a><!-- doxytag: member="genetic_operator_thread::it_" ref="ac5a153e12dd6711746126c48edba271a" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt;boost::thread*&gt;::iterator <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html#ac5a153e12dd6711746126c48edba271a">it_</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Iterator para percorrer o vetor de threads. </p>

</div>
</div>
<a class="anchor" id="abe926f8fc2a1548516dad216a1acd4fb"></a><!-- doxytag: member="genetic_operator_thread::scoped_lock" ref="abe926f8fc2a1548516dad216a1acd4fb" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">typedef boost::mutex::scoped_lock <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html#abe926f8fc2a1548516dad216a1acd4fb">scoped_lock</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Definição do padrão scoped lock. </p>

<p>Reimplementado por <a class="el" href="classmutate__bit__by__bit__thread.html#a059838b054d4de64b20d33d1db7e89c0">mutate_bit_by_bit_thread&lt; _ty, _realTy &gt;</a> e <a class="el" href="classselection__by__tournament.html#a0ba2a47db6a59696b51f19341719c3fd">selection_by_tournament&lt; _ty, _realTy &gt;</a>.</p>

</div>
</div>
<hr/><h2>Construtores &amp; Destrutores</h2>
<a class="anchor" id="a2b60b46c5d55135436590f6aa2b11da3"></a><!-- doxytag: member="genetic_operator_thread::genetic_operator_thread" ref="a2b60b46c5d55135436590f6aa2b11da3" args="(population&lt;&gt; *popPt)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty , typename _realTy &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a> </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpopulation.html">population</a>&lt;&gt; *&nbsp;</td>
          <td class="paramname"> <em>popPt</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Método construtor.</p>
<p>popPt Ponteiro para a população em que se vai aplicar o operador. </p>

</div>
</div>
<a class="anchor" id="adb72da6103f5995bd4c265789e5eceac"></a><!-- doxytag: member="genetic_operator_thread::genetic_operator_thread" ref="adb72da6103f5995bd4c265789e5eceac" args="(const genetic_operator_thread&lt; _ty, _realTy &gt; &amp;got)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty , typename _realTy &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a> </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>got</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Construtor de cópia.</p>
<p>got Operador genético a ser copiado. </p>

</div>
</div>
<hr/><h2>Métodos</h2>
<a class="anchor" id="a5e739f35ac03b42311540dbf4db25d2e"></a><!-- doxytag: member="genetic_operator_thread::AddIndividual" ref="a5e739f35ac03b42311540dbf4db25d2e" args="(individual&lt; _ty, _realTy &gt; *newId)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty , typename _realTy &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::AddIndividual </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classindividual.html">individual</a>&lt; _ty, _realTy &gt; *&nbsp;</td>
          <td class="paramname"> <em>newId</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Método que adiciona um novo indivíduo ao vetor de indivíduos do operador</p>
<p>newId Ponteiro para o novo indivíduo a ser adicionado </p>

</div>
</div>
<a class="anchor" id="abd1a0cb47d379e74f3e738f5c75fe7b7"></a><!-- doxytag: member="genetic_operator_thread::ApplyGeneticOperator" ref="abd1a0cb47d379e74f3e738f5c75fe7b7" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty , typename _realTy &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::ApplyGeneticOperator </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Método que dispara as threads que aplicam o operador genético </p>

</div>
</div>
<a class="anchor" id="a3f9defee5440ebe6d973bcc8806d64ee"></a><!-- doxytag: member="genetic_operator_thread::Begin" ref="a3f9defee5440ebe6d973bcc8806d64ee" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgenetic__operator__thread.html#ac5a153e12dd6711746126c48edba271a">it_</a> <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::Begin </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retorna um iterator para o começo do vetor de threads</p>
<dl class="return"><dt><b>Retorna:</b></dt><dd>Um iterator para o começo do vetor de threads. </dd></dl>

</div>
</div>
<a class="anchor" id="ae836d401cde0a8ac21025348b9fcedf6"></a><!-- doxytag: member="genetic_operator_thread::End" ref="ae836d401cde0a8ac21025348b9fcedf6" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgenetic__operator__thread.html#ac5a153e12dd6711746126c48edba271a">it_</a> <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::End </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retorna um iterator para o fim do vetor de threads</p>
<dl class="return"><dt><b>Retorna:</b></dt><dd>Um iterator para o fim do vetor de threads. </dd></dl>

</div>
</div>
<a class="anchor" id="aad1cfa9857458b80ca2f5ba2fa3c5d74"></a><!-- doxytag: member="genetic_operator_thread::EndOfGA" ref="aad1cfa9857458b80ca2f5ba2fa3c5d74" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">static bool <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::EndOfGA </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retorna se o número de gerações chegou ao máximo, ou seja se o algoritmo já terminou.</p>
<dl class="return"><dt><b>Retorna:</b></dt><dd>True caso o número de gerações já chegou ao máximo, false caso contrário. </dd></dl>

</div>
</div>
<a class="anchor" id="a2fdf96fda297cef206de86300ab7df0c"></a><!-- doxytag: member="genetic_operator_thread::FullPopulation" ref="a2fdf96fda297cef206de86300ab7df0c" args="(void) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::FullPopulation </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Confere se a população se eonctra cheia.</p>
<dl class="return"><dt><b>Retorna:</b></dt><dd>True caso o número de indivíduos seja igual ao máximo, false caso contrário. </dd></dl>

</div>
</div>
<a class="anchor" id="aba37d3926c0ae0f61846a3e98cfeaf39"></a><!-- doxytag: member="genetic_operator_thread::GetBestIndividual" ref="aba37d3926c0ae0f61846a3e98cfeaf39" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classindividual.html">individual</a>&lt;_ty,_realTy&gt;* <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::GetBestIndividual </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retorna o melhor do indivíduo da população.</p>
<dl class="return"><dt><b>Retorna:</b></dt><dd>Ponteiro para o melhor indivíduo da população. </dd></dl>

</div>
</div>
<a class="anchor" id="adbc04b2ec67ef127c316efd2bfb407c4"></a><!-- doxytag: member="genetic_operator_thread::GetCondApplyOp" ref="adbc04b2ec67ef127c316efd2bfb407c4" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">boost::condition&amp; <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::GetCondApplyOp </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Método que retorna uma referência para a variável de condição para iniciar a aplicar o operador</p>
<dl class="return"><dt><b>Retorna:</b></dt><dd>Referência para a variável de condição </dd></dl>

</div>
</div>
<a class="anchor" id="a22db2979e50888a982e4d78a874b0193"></a><!-- doxytag: member="genetic_operator_thread::GetGenerationCount" ref="a22db2979e50888a982e4d78a874b0193" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty , typename _realTy &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int &amp; <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::GetGenerationCount </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Método de interface (get).</p>
<dl class="return"><dt><b>Retorna:</b></dt><dd>Retorna o número de geração ocorridas. </dd></dl>

</div>
</div>
<a class="anchor" id="a0973b32bc54f444ca7afcdcdfef9a38a"></a><!-- doxytag: member="genetic_operator_thread::GetMutexCondApplyOp" ref="a0973b32bc54f444ca7afcdcdfef9a38a" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">boost::mutex <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::GetMutexCondApplyOp </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Método que retorna uma referência do mutex da variável de condição para aplicar o operador genético.</p>
<dl class="return"><dt><b>Retorna:</b></dt><dd>Uma referência para o mutec da variável de condição. </dd></dl>

</div>
</div>
<a class="anchor" id="a751c7f678d7486bee8b1a02bb9e60416"></a><!-- doxytag: member="genetic_operator_thread::GetReference" ref="a751c7f678d7486bee8b1a02bb9e60416" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>* <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::GetReference </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retorna uma referência de si mesmo</p>
<dl class="return"><dt><b>Retorna:</b></dt><dd>Um ponteiro para si mesmo. </dd></dl>

</div>
</div>
<a class="anchor" id="a73424d811348f5a911da3744dfc08762"></a><!-- doxytag: member="genetic_operator_thread::GetSemConsumer" ref="a73424d811348f5a911da3744dfc08762" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classsemaphore.html">semaphore</a>* <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::GetSemConsumer </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retorna uma referência do semáforo do consumidor</p>
<dl class="return"><dt><b>Retorna:</b></dt><dd>Uma referência para o objeto semáforo de consumir um indivíduo. </dd></dl>

</div>
</div>
<a class="anchor" id="aa9a6e0370bfd3afe316af822832a8013"></a><!-- doxytag: member="genetic_operator_thread::GetSemProducer" ref="aa9a6e0370bfd3afe316af822832a8013" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classsemaphore.html">semaphore</a>* <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::GetSemProducer </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Retorna uma referência do semáforo do produtor</p>
<dl class="return"><dt><b>Retorna:</b></dt><dd>Uma referêmcia para o objeto semáforo de produzir um indivíduo. </dd></dl>

</div>
</div>
<a class="anchor" id="a77fb097a6fa283eebe5cf6af08dd2cfc"></a><!-- doxytag: member="genetic_operator_thread::IncrementGenerationCount" ref="a77fb097a6fa283eebe5cf6af08dd2cfc" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty , typename _realTy &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::IncrementGenerationCount </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Incrementa o contador de gerações. </p>

</div>
</div>
<a class="anchor" id="a856af75479279710968a1aa2b26400de"></a><!-- doxytag: member="genetic_operator_thread::IncrementIterator" ref="a856af75479279710968a1aa2b26400de" args="(typename population&lt; _ty, _realTy &gt;::it_ &amp;it)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty , typename _realTy &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::IncrementIterator </td>
          <td>(</td>
          <td class="paramtype">typename <a class="el" href="classpopulation.html">population</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html#ac5a153e12dd6711746126c48edba271a">it_</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>it</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Incrementa um iteartor do vetor de populações, como em um vetor circular.</p>
<p>it O iterator a ser incrementado. </p>

</div>
</div>
<a class="anchor" id="afaab02a61f5f0a52b37c4f8bda8df131"></a><!-- doxytag: member="genetic_operator_thread::PrintPopulation" ref="afaab02a61f5f0a52b37c4f8bda8df131" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty , typename _realTy &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::PrintPopulation </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Imprime a população ordenada pelo fitness </p>

</div>
</div>
<a class="anchor" id="a1e355fe496238b6433bbf9f3f70bf6ad"></a><!-- doxytag: member="genetic_operator_thread::PushBackIndividual" ref="a1e355fe496238b6433bbf9f3f70bf6ad" args="(individual&lt; _ty, _realTy &gt; *newId)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty , typename _realTy &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::PushBackIndividual </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classindividual.html">individual</a>&lt; _ty, _realTy &gt; *&nbsp;</td>
          <td class="paramname"> <em>newId</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Método que adiciona um nov indivíduo independente do ponteiro de inserir</p>
<p>newId Ponteiro para o novo indivíduo a ser adicionado </p>

</div>
</div>
<a class="anchor" id="a7c86cee81334320d496fb196920fcc10"></a><!-- doxytag: member="genetic_operator_thread::ReadyToReceive" ref="a7c86cee81334320d496fb196920fcc10" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">virtual void <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::ReadyToReceive </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Método virtual que confere se é possível que o operador receba indivíduos no seu vetor. </p>

<p>Reimplementado por <a class="el" href="classselection__by__tournament.html#a3e16cf77dd481a3ce1a01ac4edffa4ba">selection_by_tournament&lt; _ty, _realTy &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a2944e0158bc914db042fdcf22a4a4e70"></a><!-- doxytag: member="genetic_operator_thread::SetConsumer" ref="a2944e0158bc914db042fdcf22a4a4e70" args="(genetic_operator_thread *cons_pt)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::SetConsumer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt; *&nbsp;</td>
          <td class="paramname"> <em>cons_pt</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Seta o outro operador genético que irá consumir os dados deste</p>
<p>cons_pt A nova referência para o operador produtor. </p>

</div>
</div>
<a class="anchor" id="a435435aa8c4e9f50b041b40c7f63b599"></a><!-- doxytag: member="genetic_operator_thread::SetProducer" ref="a435435aa8c4e9f50b041b40c7f63b599" args="(genetic_operator_thread&lt; _ty, _realTy &gt; *new_prod_pt)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::SetProducer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt; *&nbsp;</td>
          <td class="paramname"> <em>new_prod_pt</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Seta qual operador consome os indivíduos produzidos.</p>
<p>new_prod_pt A nova referência para o operador produtor. </p>

</div>
</div>
<a class="anchor" id="a44556f084005e19742891fae2e3c8df3"></a><!-- doxytag: member="genetic_operator_thread::UpdatePopulation" ref="a44556f084005e19742891fae2e3c8df3" args="(void)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::UpdatePopulation </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Atualiza os dados da população </p>

</div>
</div>
<a class="anchor" id="a30c4b7a10dae2ff72905416953a64049"></a><!-- doxytag: member="genetic_operator_thread::~genetic_operator_thread" ref="a30c4b7a10dae2ff72905416953a64049" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty , typename _realTy &gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::~<a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a> </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Método destrutor. </p>

</div>
</div>
<hr/><h2>Atributos</h2>
<a class="anchor" id="ad88e4f6c5afb05bbc55d5f44bce88ba2"></a><!-- doxytag: member="genetic_operator_thread::_consumidorPt" ref="ad88e4f6c5afb05bbc55d5f44bce88ba2" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt;_ty,_realTy&gt;* <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html#ad88e4f6c5afb05bbc55d5f44bce88ba2">_consumidorPt</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Ponteiro para o operador genético que consome os dados do operador genético. </p>

</div>
</div>
<a class="anchor" id="a886d986c24ceb36bff5a77bf58447be0"></a><!-- doxytag: member="genetic_operator_thread::_coreNumbers" ref="a886d986c24ceb36bff5a77bf58447be0" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html#a886d986c24ceb36bff5a77bf58447be0">_coreNumbers</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Número de núcleos do procesador </p>

</div>
</div>
<a class="anchor" id="acdf9606e26ae1240cd1c9fced36c656a"></a><!-- doxytag: member="genetic_operator_thread::_genCount" ref="acdf9606e26ae1240cd1c9fced36c656a" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html#acdf9606e26ae1240cd1c9fced36c656a">_genCount</a> = 0<code> [inline, static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Contador de número de gerações que já foram realizadas. </p>

</div>
</div>
<a class="anchor" id="afb4be1bcb256082a4d6e90faba3e5567"></a><!-- doxytag: member="genetic_operator_thread::_MutexgenCount" ref="afb4be1bcb256082a4d6e90faba3e5567" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">boost::mutex <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html#afb4be1bcb256082a4d6e90faba3e5567">_MutexgenCount</a><code> [inline, static, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Mutex para acessar a variável _genCount. </p>

</div>
</div>
<a class="anchor" id="ae0bb1f4c8c30c5557eefc870d2767d66"></a><!-- doxytag: member="genetic_operator_thread::_popOperatorPt" ref="ae0bb1f4c8c30c5557eefc870d2767d66" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpopulation.html">population</a>&lt;_ty,_realTy&gt;* <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html#ae0bb1f4c8c30c5557eefc870d2767d66">_popOperatorPt</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Ponteiro para a população do operador. </p>

</div>
</div>
<a class="anchor" id="af325a8a1c9964fc0eac9e2eeda670499"></a><!-- doxytag: member="genetic_operator_thread::_producerPt" ref="af325a8a1c9964fc0eac9e2eeda670499" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename _ty, typename _realTy&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt;_ty,_realTy&gt;* <a class="el" href="classgenetic__operator__thread.html">genetic_operator_thread</a>&lt; _ty, _realTy &gt;::<a class="el" href="classgenetic__operator__thread.html#af325a8a1c9964fc0eac9e2eeda670499">_producerPt</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Ponteiro para o operador genético que produz os dados do operador genéticos </p>

</div>
</div>
<hr/>A documentação para esta classe foi gerada a partir do seguinte arquivo:<ul>
<li><a class="el" href="genetic__operator__thread_8h_source.html">genetic_operator_thread.h</a></li>
</ul>
</div>
<!--- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&nbsp;</span>Todos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Arquivos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Funções</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variáveis</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Definições de Tipos</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Amigas</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr class="footer"/><address style="text-align: right;"><small>Gerado em Sat Oct 30 13:47:50 2010 por&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>
